#ifndef VIDEOPLAYER_H
#define VIDEOPLAYER_H

#include <QObject>
#include <QString>
#include <QImage>

#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/imgutils.h"
#include "libswscale/swscale.h"

// class VideoPlayer : public QObject
// {
//     Q_OBJECT
// public:
//     explicit VideoPlayer(QObject *parent = nullptr);
//     ~VideoPlayer();

//     Q_INVOKABLE bool openVideo(const QString &filePath);
//     Q_INVOKABLE QImage readFrame();
//     Q_INVOKABLE void closeVideo();

// private:
//     AVFormatContext *formatContext = nullptr; //视频文件格式上下文 用于存储视频文件的信息
//     AVCodecContext *codecContext = nullptr; //解码器上下文 用于配置和控制视频解码
//     AVCodec *codec = nullptr; //解码器
//     AVFrame *frame = nullptr; //用于存储解码后的视频帧
//     AVPacket packet; //存储视频流中读取的压缩数据包
//     struct SwsContext *swsContext = nullptr; //用于视频帧格式转换的上下文
//     int videoStreamIndex = -1; //视频流的索引
// };


#endif // VIDEOPLAYER_H
